Channel coding, also known as forward error correction (FEC), is a system of error control for data transmission whereby a sender may add redundant data to a transmitted message. This may allow a receiver of the message to detect and correct errors in the message under some circumstances and within some boundaries. FEC may be accomplished by adding redundant data to the transmitted information using a predetermined algorithm. Traditionally, the emphasis in this type of coding has been the design of channel capacity approaching codes, e.g., turbo codes and low-density parity-check (LDPC) codes. Therefore, the main question addressed by most researchers has been how to design codes that achieve a particular point on the rate-distortion curve for one type of message.
Embedded coding, as used herein, may refer to a system of error control for data transmission, whereby the sender adds redundant data to multiple simultaneously transmitted messages. Thus, embedded coding may be channel coding for multiple types of messages. The term “embed” comes from the fact that one or more types of information may be hidden in the codeword of another message. The terms “message” and “information” may be used interchangeably.
Embedded coding, as described herein, solves a different problem than traditional channel coding. Specifically, the problem addressed is the situation where multiple levels of reliabilities (in terms of error probability) are sought for different types of information/messages. In other words, one advantage of embedded coding is the ability to support a variety of applications with different quality-of-service (QoS) requirements. Therefore, providing unequal error protection (UEP) is one of the functions of embedded coding. Benefits may be realized by improved systems and methods related to unequal error protection code design.